<?php
declare (strict_types=1);

namespace app\command;

use app\model\OrderModel;
use PhpOffice\PhpSpreadsheet\IOFactory;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\facade\Db;

class Test extends Command
{
    protected function configure()
    {
        // 指令配置
        $this->setName('test')
            ->setDescription('the test command');
    }

    protected function execute(Input $input, Output $output)
    {
//        $objReader     = IOFactory::createReader('Xlsx');
//        $filename      = "工作簿1.xlsx";
//        $objPHPExcel   = $objReader->load(root_path() . '/public/' . $filename);//传入的文件
//        $sheet         = $objPHPExcel->getSheet(0);   //excel中的第一张sheet
//        $highestRow    = $sheet->getHighestRow();       // 取得总行数
//        $highestColumn = $sheet->getHighestColumn();   // 取得总列数
//        \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn);
//        $lines = $highestRow - 1;
//        if ($lines <= 0) {
//            return json(['code' => 0, 'message' => '没有数据！']);
//        }
//        $data = [];
//        for ($j = 2; $j <= $highestRow; $j++) {
//            $order_sn = $objPHPExcel->getActiveSheet()->getCell("A" . $j)->getValue();
//            if (empty($order_sn)) continue;
//
//            $order_sn  = trim($order_sn);
//            $is_exists = OrderModel::where('order_sn', trim($order_sn))->find();
//            if ($is_exists) {
//                $address = $objPHPExcel->getActiveSheet()->getCell("C" . $j)->getValue();
//                $customer = $objPHPExcel->getActiveSheet()->getCell("B" . $j)->getValue();
//                if (!empty($address)) {
//                    if (!is_string($address)) {
//                        $address = $address->__toString();
//                    }
//                    $address = trim($address);
//                    $is_exists->address = $address;
//                    $is_exists->customer = trim($customer);
//                    $is_exists->save();
//                    $output->writeln($j . '===' . $order_sn . '===' . $address . '====' . $customer);
//                }
//            }
//        }

        // 执行示例
//        $result = parseAddressV3("中国/新疆乌鲁木齐/乌鲁木齐市/沙依巴克区友好南路大公馆D座二单元902室 18935946236董晓/");

//        parseAddressV3("中国/四川省/德阳市/中国湖北省孝感市应城市金港一品传奇养生馆（收货人电话15072158437/");


        $address = "中国/广东省/佛山市顺德区/乐从镇天成路保利东湾东悦花园127座3002/三水区白泥镇山水龙盘芙蓉雅堤61座";
        $address = "中国/广州/广州/南石头街道华新方圆333 1栋1204房/";
//        $address = "中国/北京/北京/zhuminzhang@126.com/廊坊市广阳区廊坊开发区鸿润道东方花园C9";
//        $address = "中国/河北省/承德市/河北省承德市丰宁满族自治县大个镇胜利街嗯，利街家属楼/";
//        $address = "中国/江苏省/徐州市/姓名赵计成 电话18914897909 身份证号32032319650江苏省徐州市经济技术开发区徐庄镇赵疃村六纽/";
//        $address = "中国/广东/深圳/胡小姐 1罗湖区 东门南路3022号向西雍睦豪庭-C号楼商铺/";
//        $address = "中国/贵州省遵义市/贵州省贵阳市/汇川区人民路乌江恬苑/";
//        $address = "中国/江苏省/苏州市/江苏省苏州市吴中区郭362301196001251586巷九盛路333号/";
//        $address = "中国/广西省/北海市 壮族自治区  银海区/四川南路 强运度假村A栋605室/";
//        $address = "中国/云南省/昆明市/云南省西双版纳州勐腊县关累镇勐捧农场二分场十三队/";
//        $address = "中国内蒙古自治区包头市东河区和平路金裕楼西巷（巧云超市往里70米〈南〉往左看〈东〉红杉树英语";
//        $address = "中国/云南省红河州/云南省红河州石屏县/云南省红河州真屏县玉源街9号四季藏青/";
//        $address = "中国/江苏省/扬州市/邗江区西湖镇司徒庙路238号（新聚乐源酒店4楼）/";
//        $address = "中国/湖南省/常德市/临澧/新安";
        $address = "中国/新疆维吾尔自治区喀什地区/伽师县/伽师县和夏阿瓦提县/";
        $address = "中国/安徽省/黄山市/歙县和泰国际城维也纳酒店/";
        $address = "中国/广东省/茂名市/茂南区光华北路638号高级技工学校/    中国广东省茂名市光华北路638号高级技工学校";
        echo doubao_parse_address($address);

        $name = "杨 杨德良";
        $name = "国勇 李";
//        $name = "一鸣 刘";
//        $name = "健 许";
//        $name = "汪 燕珍(代)";
        $name = "江 江凤荣";
        echo doubao_parse_name($name);

    }


    function extractGenderCounts($productName)
    {
        $femaleCounts = [];
        $maleCounts   = [];

        // 匹配 "女*[数字]" 的模式
        preg_match_all('/女\*(\d+)/', $productName, $femaleMatches);
        if (!empty($femaleMatches[1])) {
            $femaleCounts = array_map('intval', $femaleMatches[1]);
        }

        // 匹配 "男*[数字]" 的模式
        preg_match_all('/男\*(\d+)/', $productName, $maleMatches);
        if (!empty($maleMatches[1])) {
            $maleCounts = array_map('intval', $maleMatches[1]);
        }

        // 计算总数
        $femaleTotal = array_sum($femaleCounts);
        $maleTotal   = array_sum($maleCounts);

        return ['female' => $femaleTotal, 'male' => $maleTotal];
    }

    function mergeCntByGoodsType($data)
    {
        $result = [];
        foreach ($data as $item) {
            $goodsType = $item['goods_type'];
            if (isset($result[$goodsType])) {
                $result[$goodsType]['cnt'] += $item['cnt'];
            } else {
                $result[$goodsType] = $item;
            }
        }
        return array_values($result);
    }

    public function test2()
    {
        $results = Db::table('order')->select();
        foreach ($results as $result) {
            
        }
    }

    public function getGoodsType($goods_name)
    {
        if (stripos($goods_name, "GnAKG") !== false) {
            return 'akg';
        } elseif (stripos($goods_name, "GnCell") !== false) {
            return 'cell';
        } elseif (stripos($goods_name, "护肤套盒") !== false) {
            return 'hufu';
        } elseif (stripos($goods_name, "招财猫") !== false) {
            return 'zcm';
        }
        return 'akg';
    }
}
